A Hong Kong, l'inspecteur Eddie Yang fait la rencontre d'un mystérieux enfant, Jai, pourchassé par le redoutable Snakehead. Ce que ce dernier convoite, c'est un étrange médaillon qui a le pouvoir de rendre immortel et que possède le jeune garçon.
L'infâme Snakehead parvient à enlever l'enfant et le ramène dans son château en Irlande. Epaulé d'Arthur Watson, un agent d'Interpole un peu gaffeur, et de Nicole James, son ancienne co-équipière, Eddie se lance alors sur les traces de Jai et de son ravisseur.
En 1937, au début de la guerre sino-japonaise, Chen Zhen (Jet Li), un étudiant chinois, revient de Tokyo, où le racisme est devenu insupportable, pour rejoindre son école d'arts martiaux à Shanghai. Sur place, il apprend que son vieux maître Huo Yuan-jia a trouvé la mort au terme d'un combat truqué contre le directeur d'une école de karaté rivale.
Menant son enquête, Chen Zhen découvre que son mentor a en fait été assassiné par Go Fujita (Billy Chow), un militaire japonais, avec la complicité d'un membre de l'école. Aidé du maître d'arts martiaux japonais Fumio Funakoshi (Yasuaki Kurata), de Huo Ting-en (Siu-hou Chin), le fils de Huo Yuan-jia, ainsi que de Mitsuko Yamada (Shinobu Nakayama), sa petite amie japonaise venue le rejoindre, le jeune homme est déterminé à venger l'honneur de son maître.